package test.Kama240718.ACM01;

import java.util.*;

/**
 * <p>
 * <p/>
 *
 * @author zhangchengwei1
 * @since 2024/7/19/周五 10:04
 */
public class Main{

    //144. 字典序最小的 01 字符串
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int len = in.nextInt();
        int k = in.nextInt();
        String s = in.next();
        int index = 0;
        char[] arr = s.toCharArray();
        for (int i = 0; i < len; i++) {
            if (arr[i] == '0') {
                k=k-(i-index);
                if(k<0){//因为这里找到的是当前最靠左的0，所以如果能换，其左边一定是1,
                    //因为存在k==0的情况，所以是做交换
                    k=k+i-index;
                    char tmp = arr[i];
                    arr[i]=arr[i-k];
                    arr[i-k]=tmp;
                }else {
                    //因为存在相等的情况，所以是做交换
                    char tmp=arr[i];
                    arr[i]=arr[index];
                    arr[index]=tmp;
                    index++;
                }
            }
        }
        System.out.println(String.valueOf(arr));
    }

//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        int n = sc.nextInt();
//        int k = sc.nextInt();
//        sc.nextLine();
//        String str = sc.nextLine();
//        char[] ch = str.toCharArray();
//
//        TreeSet<Integer> ts = new TreeSet<>(); //放1的下标
//        for (int i = 0; i < n; i++) {
//            if (ch[i] == '1') { //放1的下标
//                ts.add(i);
//                continue;
//            }
//            if (ch[i] == '0') { //这时就要找 前面有没有1可以互换的。
//                if (ts.size() == 0) continue; //没有就跳过
//
//                int idx = i - k; //能互换的1的下标，最小只能是 i-k
//                Integer ceiling = ts.ceiling(idx); //二分找 大于等于idx 的
//                if (ceiling != null) { //如果不为空 找到了
//                    k = k - (i - ceiling); //k减去对应次数
//                    //元素值互换。然后 TreeSet 里对应下标也要改变
//                    ch[ceiling] = '0';
//                    ch[i] = '1';
//                    ts.remove(ceiling);
//                    ts.add(i);
//                    if (k == 0) break; //次数为0就结束了。
//                }
//            }
//        }
//        //拼接输出结果
//        StringBuilder sb = new StringBuilder();
//        for (int i = 0; i < n; i++)
//            sb = sb.append(ch[i]);
//        System.out.println(sb.toString());
//    }
    //超时
//    public static void main(String[] args){
//        Scanner sc=new Scanner(System.in);
//        String[] s1=sc.nextLine().split(" ");
//        int n=Integer.valueOf(s1[0]);
//        int k=Integer.valueOf(s1[1]);
//        String s2=sc.nextLine();
//        StringBuffer sb=new StringBuffer(s2);
//        int len=sb.length();
//        int i=0;
//        while(i<len){
//            if(k<=0) break;
//            if(i==0||sb.charAt(i)!='0'||sb.charAt(i-1)!='1'){
//                i++;
//            }else{
//                if(k>0){
//                    sb.setCharAt(i,'1');
//                    sb.setCharAt(i-1,'0');
//                    i--;
//                    k--;
//                }else{
//                    break;
//                }
//            }
//        }
//        System.out.println(sb.toString());
//    }
}
